package com.learn.a06_2_inventory

import android.app.Application
import com.learn.a06_2_inventory.data.AppContainer
import com.learn.a06_2_inventory.data.AppDataContainer

/**
 * 应用入口类（继承自 Android Application 类）
 * 核心职责：初始化全局依赖容器
 *
 * @see AppDataContainer 具体依赖容器的实现类
 */
class InventoryApplication : Application() {

    /**
     * 延迟初始化的应用依赖容器（服务定位器模式）
     * 特点：
     * - 通过 lateinit 实现延迟初始化
     * - 为整个应用提供数据层依赖（如 Repository）
     */
    lateinit var container: AppContainer

    /**
     * 应用创建时初始化依赖容器
     * 执行时机：应用进程创建时最先执行
     */
    override fun onCreate() {
        super.onCreate()
        container = AppDataContainer(this) // 初始化时传入应用上下文
    }
}
